Micron Document




Java (software platform)
part 18/61 · 104.6 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
The Java virtual machine heap is the area of memory used by the JVM for dynamic memory allocation.cite-ref-hotspotfaq-41-0[41]

In HotSpot the heap is divided into generations:

• The young generation stores short-lived objects that are created and immediately garbage collected.
• Objects that persist longer are moved to the old generation (also called the tenured generation). This memory is subdivided into (two) Survivors spaces where the objects that survived the first and next garbage collections are stored.

The permanent generation (or permgen) was used for class definitions and associated metadata prior to Java 8. Permanent generation was not part of the heap.cite-ref-permgen-42-0[42]cite-ref-43[43] The permanent generation was removed from Java 8.cite-ref-44[44]

Originally there was no permanent generation, and objects and classes were stored together in the same area. But as class unloading occurs much more rarely than objects are collected, moving class structures to a specific area allowed significant performance improvements.cite-ref-permgen-42-1[42]

Security

The Java JRE is installed on a large number of computers. End users with an out-of-date version of JRE therefore are vulnerable to many known attacks. This led to the widely shared belief that Java is inherently insecure.cite-ref-45[45] Since Java 1.7, Oracle's JRE for Windows includes automatic update functionality.

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────